{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 准备工作，来调用几个模块吧\n",
    "from pandas.io.json import json_normalize\n",
    "import pandas as pd\n",
    "import requests\n",
    "import json\n",
    "lin = \"746c8fa77e40d2c35d822112fd0cb244\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.地理编码练习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'count': '1', 'geocodes': [{'formatted_address': '广东省东莞市江南第一城', 'country': '中国', 'province': '广东省', 'citycode': '0769', 'city': '东莞市', 'district': [], 'township': [], 'neighborhood': {'name': [], 'type': []}, 'building': {'name': [], 'type': []}, 'adcode': '441900', 'street': [], 'number': [], 'location': '113.720185,23.009333', 'level': '兴趣点'}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>adcode</th>\n",
       "      <th>building.name</th>\n",
       "      <th>building.type</th>\n",
       "      <th>city</th>\n",
       "      <th>citycode</th>\n",
       "      <th>country</th>\n",
       "      <th>district</th>\n",
       "      <th>formatted_address</th>\n",
       "      <th>level</th>\n",
       "      <th>location</th>\n",
       "      <th>neighborhood.name</th>\n",
       "      <th>neighborhood.type</th>\n",
       "      <th>number</th>\n",
       "      <th>province</th>\n",
       "      <th>street</th>\n",
       "      <th>township</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>441900</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>东莞市</td>\n",
       "      <td>0769</td>\n",
       "      <td>中国</td>\n",
       "      <td>[]</td>\n",
       "      <td>广东省东莞市江南第一城</td>\n",
       "      <td>兴趣点</td>\n",
       "      <td>113.720185,23.009333</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>广东省</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   adcode building.name building.type city citycode country district  \\\n",
       "0  441900            []            []  东莞市     0769      中国       []   \n",
       "\n",
       "  formatted_address level              location neighborhood.name  \\\n",
       "0       广东省东莞市江南第一城   兴趣点  113.720185,23.009333                []   \n",
       "\n",
       "  neighborhood.type number province street township  \n",
       "0                []     []      广东省     []       []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "江南第一城地理编码: 113.720185,23.009333\n"
     ]
    }
   ],
   "source": [
    "# A-1 地理编码\n",
    "def geocode(address,city=None,batch=None,sig=None)->dict:\n",
    "    \"\"\"获取地理编码\"\"\"\n",
    "    url = 'https://restapi.amap.com/v3/geocode/geo?parameters'\n",
    "    params={\n",
    "        'key': lin,\n",
    "        'address':address,\n",
    "        'city':city,\n",
    "        'batch':batch,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "江南第一城 = geocode(address='广东省东莞市南城区金丰路江南第一城')\n",
    "print(江南第一城)\n",
    "df_江南第一城地理编码 = json_normalize(江南第一城['geocodes'])\n",
    "display(df_江南第一城地理编码)\n",
    "江南第一城地理编码 = 江南第一城['geocodes'][0]['location']\n",
    "print(\"江南第一城地理编码:\",江南第一城地理编码)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 作用\n",
    "地理编码：将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名称解析为高德经纬度坐标。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.步行路径规划练习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [],
   "source": [
    "# B 步行路径规划\n",
    "# B-1 准备base url、params、response.json（） \n",
    "def walking(origin,destination,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/direction/walking?parameters'\n",
    "    params={\n",
    "        'key':lin,\n",
    "        'origin':origin,\n",
    "        'destination':destination,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起点)东莞市图书馆_location: 113.752005,23.013548 (终点)江南第一城_location: 113.720185,23.009333\n"
     ]
    }
   ],
   "source": [
    "# B-2 准备walking 参数\n",
    "东莞市图书馆 = geocode('广东省东莞市南城区东莞市图书馆')\n",
    "东莞市图书馆_location = 东莞市图书馆['geocodes'][0]['location']\n",
    "江南第一城_location = 江南第一城['geocodes'][0]['location']\n",
    "print(\"(起点)东莞市图书馆_location:\",东莞市图书馆_location,\"(终点)江南第一城_location:\",江南第一城_location)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>action</th>\n",
       "      <th>assistant_action</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "      <th>instruction</th>\n",
       "      <th>orientation</th>\n",
       "      <th>polyline</th>\n",
       "      <th>road</th>\n",
       "      <th>walk_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>88</td>\n",
       "      <td>70</td>\n",
       "      <td>步行88米右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.752075,23.013867;113.751233,23.014032</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>67</td>\n",
       "      <td>54</td>\n",
       "      <td>步行67米左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.751228,23.014032;113.751563,23.014557</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>向左前方行走</td>\n",
       "      <td>[]</td>\n",
       "      <td>467</td>\n",
       "      <td>374</td>\n",
       "      <td>沿鸿福路向西步行467米向左前方行走</td>\n",
       "      <td>西</td>\n",
       "      <td>113.751563,23.014557;113.75059,23.014761;113.7...</td>\n",
       "      <td>鸿福路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>18</td>\n",
       "      <td>14</td>\n",
       "      <td>步行18米右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.747153,23.01549;113.746997,23.015417</td>\n",
       "      <td>[]</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>直行</td>\n",
       "      <td>[]</td>\n",
       "      <td>30</td>\n",
       "      <td>24</td>\n",
       "      <td>沿元美路步行30米直行</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.746992,23.015412;113.746944,23.015469;113....</td>\n",
       "      <td>元美路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>向左前方行走</td>\n",
       "      <td>[]</td>\n",
       "      <td>471</td>\n",
       "      <td>377</td>\n",
       "      <td>沿鸿福路向西步行471米向左前方行走</td>\n",
       "      <td>西</td>\n",
       "      <td>113.746762,23.015577;113.746415,23.015664;113....</td>\n",
       "      <td>鸿福路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>33</td>\n",
       "      <td>26</td>\n",
       "      <td>步行33米右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.742374,23.016532;113.742122,23.016354</td>\n",
       "      <td>[]</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>向左前方行走</td>\n",
       "      <td>[]</td>\n",
       "      <td>43</td>\n",
       "      <td>34</td>\n",
       "      <td>沿莞太路步行43米向左前方行走</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.742118,23.01635;113.742062,23.016437;113.7...</td>\n",
       "      <td>莞太路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>543</td>\n",
       "      <td>434</td>\n",
       "      <td>沿鸿福西路向西步行543米</td>\n",
       "      <td>西</td>\n",
       "      <td>113.74184,23.016628;113.741267,23.016732;113.7...</td>\n",
       "      <td>鸿福西路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>371</td>\n",
       "      <td>297</td>\n",
       "      <td>沿鸿福西路向西步行371米左转</td>\n",
       "      <td>西</td>\n",
       "      <td>113.736593,23.017556;113.736376,23.017548;113....</td>\n",
       "      <td>鸿福西路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>直行</td>\n",
       "      <td>[]</td>\n",
       "      <td>620</td>\n",
       "      <td>496</td>\n",
       "      <td>沿运河东三路向西南步行620米直行</td>\n",
       "      <td>西南</td>\n",
       "      <td>113.732986,23.018095;113.732865,23.017609;113....</td>\n",
       "      <td>运河东三路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>481</td>\n",
       "      <td>385</td>\n",
       "      <td>沿滨河路向西南步行481米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>113.73056,23.013047;113.730347,23.012852;113.7...</td>\n",
       "      <td>滨河路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>向左前方行走</td>\n",
       "      <td>[]</td>\n",
       "      <td>197</td>\n",
       "      <td>158</td>\n",
       "      <td>向西北步行197米向左前方行走</td>\n",
       "      <td>西北</td>\n",
       "      <td>113.727131,23.010052;113.727083,23.010091;113....</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>101</td>\n",
       "      <td>81</td>\n",
       "      <td>步行101米左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.725577,23.011102;113.725503,23.011102;113....</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>172</td>\n",
       "      <td>138</td>\n",
       "      <td>沿金丰路向西南步行172米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>113.724891,23.010521;113.724497,23.010048;113....</td>\n",
       "      <td>金丰路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>281</td>\n",
       "      <td>225</td>\n",
       "      <td>沿和谐路向西北步行281米左转</td>\n",
       "      <td>西北</td>\n",
       "      <td>113.723767,23.009345;113.723728,23.009388;113....</td>\n",
       "      <td>和谐路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>61</td>\n",
       "      <td>49</td>\n",
       "      <td>向西南步行61米左转</td>\n",
       "      <td>西南</td>\n",
       "      <td>113.721602,23.01092;113.721493,23.01082;113.72...</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>44</td>\n",
       "      <td>35</td>\n",
       "      <td>向东南步行44米右转</td>\n",
       "      <td>东南</td>\n",
       "      <td>113.721181,23.010521;113.721372,23.010365;113....</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>[]</td>\n",
       "      <td>到达目的地</td>\n",
       "      <td>171</td>\n",
       "      <td>137</td>\n",
       "      <td>向西南步行171米到达目的地</td>\n",
       "      <td>西南</td>\n",
       "      <td>113.721532,23.010278;113.721385,23.010169;113....</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    action assistant_action distance duration         instruction orientation  \\\n",
       "0       右转               []       88       70             步行88米右转          []   \n",
       "1       左转               []       67       54             步行67米左转          []   \n",
       "2   向左前方行走               []      467      374  沿鸿福路向西步行467米向左前方行走           西   \n",
       "3       右转               []       18       14             步行18米右转          []   \n",
       "4       直行               []       30       24         沿元美路步行30米直行          []   \n",
       "5   向左前方行走               []      471      377  沿鸿福路向西步行471米向左前方行走           西   \n",
       "6       右转               []       33       26             步行33米右转          []   \n",
       "7   向左前方行走               []       43       34     沿莞太路步行43米向左前方行走          []   \n",
       "8       []               []      543      434       沿鸿福西路向西步行543米           西   \n",
       "9       左转               []      371      297     沿鸿福西路向西步行371米左转           西   \n",
       "10      直行               []      620      496   沿运河东三路向西南步行620米直行          西南   \n",
       "11      右转               []      481      385     沿滨河路向西南步行481米右转          西南   \n",
       "12  向左前方行走               []      197      158     向西北步行197米向左前方行走          西北   \n",
       "13      左转               []      101       81            步行101米左转          []   \n",
       "14      右转               []      172      138     沿金丰路向西南步行172米右转          西南   \n",
       "15      左转               []      281      225     沿和谐路向西北步行281米左转          西北   \n",
       "16      左转               []       61       49          向西南步行61米左转          西南   \n",
       "17      右转               []       44       35          向东南步行44米右转          东南   \n",
       "18      []            到达目的地      171      137      向西南步行171米到达目的地          西南   \n",
       "\n",
       "                                             polyline   road walk_type  \n",
       "0           113.752075,23.013867;113.751233,23.014032     []         0  \n",
       "1           113.751228,23.014032;113.751563,23.014557     []         0  \n",
       "2   113.751563,23.014557;113.75059,23.014761;113.7...    鸿福路         0  \n",
       "3            113.747153,23.01549;113.746997,23.015417     []         1  \n",
       "4   113.746992,23.015412;113.746944,23.015469;113....    元美路         0  \n",
       "5   113.746762,23.015577;113.746415,23.015664;113....    鸿福路         0  \n",
       "6           113.742374,23.016532;113.742122,23.016354     []         1  \n",
       "7   113.742118,23.01635;113.742062,23.016437;113.7...    莞太路         0  \n",
       "8   113.74184,23.016628;113.741267,23.016732;113.7...   鸿福西路         0  \n",
       "9   113.736593,23.017556;113.736376,23.017548;113....   鸿福西路         0  \n",
       "10  113.732986,23.018095;113.732865,23.017609;113....  运河东三路         0  \n",
       "11  113.73056,23.013047;113.730347,23.012852;113.7...    滨河路         0  \n",
       "12  113.727131,23.010052;113.727083,23.010091;113....     []         0  \n",
       "13  113.725577,23.011102;113.725503,23.011102;113....     []         0  \n",
       "14  113.724891,23.010521;113.724497,23.010048;113....    金丰路         0  \n",
       "15  113.723767,23.009345;113.723728,23.009388;113....    和谐路         0  \n",
       "16  113.721602,23.01092;113.721493,23.01082;113.72...     []         0  \n",
       "17  113.721181,23.010521;113.721372,23.010365;113....     []         0  \n",
       "18  113.721532,23.010278;113.721385,23.010169;113....     []         0  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "0                步行88米右转\n",
       "1                步行67米左转\n",
       "2     沿鸿福路向西步行467米向左前方行走\n",
       "3                步行18米右转\n",
       "4            沿元美路步行30米直行\n",
       "5     沿鸿福路向西步行471米向左前方行走\n",
       "6                步行33米右转\n",
       "7        沿莞太路步行43米向左前方行走\n",
       "8          沿鸿福西路向西步行543米\n",
       "9        沿鸿福西路向西步行371米左转\n",
       "10     沿运河东三路向西南步行620米直行\n",
       "11       沿滨河路向西南步行481米右转\n",
       "12       向西北步行197米向左前方行走\n",
       "13              步行101米左转\n",
       "14       沿金丰路向西南步行172米右转\n",
       "15       沿和谐路向西北步行281米左转\n",
       "16            向西南步行61米左转\n",
       "17            向东南步行44米右转\n",
       "18        向西南步行171米到达目的地\n",
       "Name: instruction, dtype: object"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# B-3 路径规划\n",
    "东莞市图书馆_江南第一城 = walking(东莞市图书馆_location,江南第一城_location)\n",
    "df_步行路径规划 = json_normalize(东莞市图书馆_江南第一城[\"route\"][\"paths\"][0]['steps'])\n",
    "display(df_步行路径规划)\n",
    "df_步行路径规划[\"instruction\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 作用\n",
    "* 无需展现地图的场景下，进行线路查询，如以线路结果页形式展现换乘方案；\n",
    "* 根据返回线路数据，自行开发线路导航。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.行政区域查询练习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>adcode</th>\n",
       "      <th>center</th>\n",
       "      <th>citycode</th>\n",
       "      <th>districts</th>\n",
       "      <th>level</th>\n",
       "      <th>name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>441200</td>\n",
       "      <td>112.472529,23.051546</td>\n",
       "      <td>0758</td>\n",
       "      <td>[{'citycode': '0758', 'adcode': '441224', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>肇庆市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>440600</td>\n",
       "      <td>113.122717,23.028762</td>\n",
       "      <td>0757</td>\n",
       "      <td>[{'citycode': '0757', 'adcode': '440607', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>佛山市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>440500</td>\n",
       "      <td>116.708463,23.37102</td>\n",
       "      <td>0754</td>\n",
       "      <td>[{'citycode': '0754', 'adcode': '440513', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>汕头市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>441300</td>\n",
       "      <td>114.412599,23.079404</td>\n",
       "      <td>0752</td>\n",
       "      <td>[{'citycode': '0752', 'adcode': '441324', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>惠州市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>440300</td>\n",
       "      <td>114.085947,22.547</td>\n",
       "      <td>0755</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440306', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>深圳市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>440400</td>\n",
       "      <td>113.553986,22.224979</td>\n",
       "      <td>0756</td>\n",
       "      <td>[{'citycode': '0756', 'adcode': '440402', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>珠海市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>440800</td>\n",
       "      <td>110.364977,21.274898</td>\n",
       "      <td>0759</td>\n",
       "      <td>[{'citycode': '0759', 'adcode': '440883', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>湛江市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>441700</td>\n",
       "      <td>111.975107,21.859222</td>\n",
       "      <td>0662</td>\n",
       "      <td>[{'citycode': '0662', 'adcode': '441781', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>阳江市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>441500</td>\n",
       "      <td>115.364238,22.774485</td>\n",
       "      <td>0660</td>\n",
       "      <td>[{'citycode': '0660', 'adcode': '441523', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>汕尾市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>445100</td>\n",
       "      <td>116.632301,23.661701</td>\n",
       "      <td>0768</td>\n",
       "      <td>[{'citycode': '0768', 'adcode': '445122', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>潮州市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>440700</td>\n",
       "      <td>113.094942,22.590431</td>\n",
       "      <td>0750</td>\n",
       "      <td>[{'citycode': '0750', 'adcode': '440784', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>江门市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>445300</td>\n",
       "      <td>112.044439,22.929801</td>\n",
       "      <td>0766</td>\n",
       "      <td>[{'citycode': '0766', 'adcode': '445322', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>云浮市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>442100</td>\n",
       "      <td>116.887312,20.617512</td>\n",
       "      <td>0767</td>\n",
       "      <td>[]</td>\n",
       "      <td>city</td>\n",
       "      <td>东沙群岛</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>440900</td>\n",
       "      <td>110.919229,21.659751</td>\n",
       "      <td>0668</td>\n",
       "      <td>[{'citycode': '0668', 'adcode': '440983', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>茂名市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>441600</td>\n",
       "      <td>114.697802,23.746266</td>\n",
       "      <td>0762</td>\n",
       "      <td>[{'citycode': '0762', 'adcode': '441622', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>河源市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>441400</td>\n",
       "      <td>116.117582,24.299112</td>\n",
       "      <td>0753</td>\n",
       "      <td>[{'citycode': '0753', 'adcode': '441427', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>梅州市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>441900</td>\n",
       "      <td>113.746262,23.046237</td>\n",
       "      <td>0769</td>\n",
       "      <td>[{'citycode': '0769', 'adcode': '441900', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>东莞市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>445200</td>\n",
       "      <td>116.355733,23.543778</td>\n",
       "      <td>0663</td>\n",
       "      <td>[{'citycode': '0663', 'adcode': '445222', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>揭阳市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>441800</td>\n",
       "      <td>113.051227,23.685022</td>\n",
       "      <td>0763</td>\n",
       "      <td>[{'citycode': '0763', 'adcode': '441882', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>清远市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>440200</td>\n",
       "      <td>113.591544,24.801322</td>\n",
       "      <td>0751</td>\n",
       "      <td>[{'citycode': '0751', 'adcode': '440282', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>韶关市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>440100</td>\n",
       "      <td>113.280637,23.125178</td>\n",
       "      <td>020</td>\n",
       "      <td>[{'citycode': '020', 'adcode': '440117', 'name...</td>\n",
       "      <td>city</td>\n",
       "      <td>广州市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>442000</td>\n",
       "      <td>113.382391,22.521113</td>\n",
       "      <td>0760</td>\n",
       "      <td>[{'citycode': '0760', 'adcode': '442000', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>中山市</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    adcode                center citycode  \\\n",
       "0   441200  112.472529,23.051546     0758   \n",
       "1   440600  113.122717,23.028762     0757   \n",
       "2   440500   116.708463,23.37102     0754   \n",
       "3   441300  114.412599,23.079404     0752   \n",
       "4   440300     114.085947,22.547     0755   \n",
       "5   440400  113.553986,22.224979     0756   \n",
       "6   440800  110.364977,21.274898     0759   \n",
       "7   441700  111.975107,21.859222     0662   \n",
       "8   441500  115.364238,22.774485     0660   \n",
       "9   445100  116.632301,23.661701     0768   \n",
       "10  440700  113.094942,22.590431     0750   \n",
       "11  445300  112.044439,22.929801     0766   \n",
       "12  442100  116.887312,20.617512     0767   \n",
       "13  440900  110.919229,21.659751     0668   \n",
       "14  441600  114.697802,23.746266     0762   \n",
       "15  441400  116.117582,24.299112     0753   \n",
       "16  441900  113.746262,23.046237     0769   \n",
       "17  445200  116.355733,23.543778     0663   \n",
       "18  441800  113.051227,23.685022     0763   \n",
       "19  440200  113.591544,24.801322     0751   \n",
       "20  440100  113.280637,23.125178      020   \n",
       "21  442000  113.382391,22.521113     0760   \n",
       "\n",
       "                                            districts level  name  \n",
       "0   [{'citycode': '0758', 'adcode': '441224', 'nam...  city   肇庆市  \n",
       "1   [{'citycode': '0757', 'adcode': '440607', 'nam...  city   佛山市  \n",
       "2   [{'citycode': '0754', 'adcode': '440513', 'nam...  city   汕头市  \n",
       "3   [{'citycode': '0752', 'adcode': '441324', 'nam...  city   惠州市  \n",
       "4   [{'citycode': '0755', 'adcode': '440306', 'nam...  city   深圳市  \n",
       "5   [{'citycode': '0756', 'adcode': '440402', 'nam...  city   珠海市  \n",
       "6   [{'citycode': '0759', 'adcode': '440883', 'nam...  city   湛江市  \n",
       "7   [{'citycode': '0662', 'adcode': '441781', 'nam...  city   阳江市  \n",
       "8   [{'citycode': '0660', 'adcode': '441523', 'nam...  city   汕尾市  \n",
       "9   [{'citycode': '0768', 'adcode': '445122', 'nam...  city   潮州市  \n",
       "10  [{'citycode': '0750', 'adcode': '440784', 'nam...  city   江门市  \n",
       "11  [{'citycode': '0766', 'adcode': '445322', 'nam...  city   云浮市  \n",
       "12                                                 []  city  东沙群岛  \n",
       "13  [{'citycode': '0668', 'adcode': '440983', 'nam...  city   茂名市  \n",
       "14  [{'citycode': '0762', 'adcode': '441622', 'nam...  city   河源市  \n",
       "15  [{'citycode': '0753', 'adcode': '441427', 'nam...  city   梅州市  \n",
       "16  [{'citycode': '0769', 'adcode': '441900', 'nam...  city   东莞市  \n",
       "17  [{'citycode': '0663', 'adcode': '445222', 'nam...  city   揭阳市  \n",
       "18  [{'citycode': '0763', 'adcode': '441882', 'nam...  city   清远市  \n",
       "19  [{'citycode': '0751', 'adcode': '440282', 'nam...  city   韶关市  \n",
       "20  [{'citycode': '020', 'adcode': '440117', 'name...  city   广州市  \n",
       "21  [{'citycode': '0760', 'adcode': '442000', 'nam...  city   中山市  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>adcode</th>\n",
       "      <th>center</th>\n",
       "      <th>citycode</th>\n",
       "      <th>districts</th>\n",
       "      <th>level</th>\n",
       "      <th>name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>440117</td>\n",
       "      <td>113.587386,23.545283</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>从化区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>440115</td>\n",
       "      <td>113.53738,22.794531</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>南沙区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>440114</td>\n",
       "      <td>113.211184,23.39205</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>花都区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>440113</td>\n",
       "      <td>113.364619,22.938582</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>番禺区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>440103</td>\n",
       "      <td>113.243038,23.124943</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>荔湾区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>440105</td>\n",
       "      <td>113.262008,23.103131</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>海珠区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>440111</td>\n",
       "      <td>113.262831,23.162281</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>白云区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>440118</td>\n",
       "      <td>113.829579,23.290497</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>增城区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>440112</td>\n",
       "      <td>113.450761,23.103239</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>黄埔区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>440106</td>\n",
       "      <td>113.335367,23.13559</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>天河区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>440104</td>\n",
       "      <td>113.280714,23.125624</td>\n",
       "      <td>020</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>越秀区</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    adcode                center citycode districts     level name\n",
       "0   440117  113.587386,23.545283      020        []  district  从化区\n",
       "1   440115   113.53738,22.794531      020        []  district  南沙区\n",
       "2   440114   113.211184,23.39205      020        []  district  花都区\n",
       "3   440113  113.364619,22.938582      020        []  district  番禺区\n",
       "4   440103  113.243038,23.124943      020        []  district  荔湾区\n",
       "5   440105  113.262008,23.103131      020        []  district  海珠区\n",
       "6   440111  113.262831,23.162281      020        []  district  白云区\n",
       "7   440118  113.829579,23.290497      020        []  district  增城区\n",
       "8   440112  113.450761,23.103239      020        []  district  黄埔区\n",
       "9   440106   113.335367,23.13559      020        []  district  天河区\n",
       "10  440104  113.280714,23.125624      020        []  district  越秀区"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# C 行政区域查询\n",
    "# C-1 请注意行政区域级别划分参数\n",
    "def district(keywords,subdistrict=None,page=None,offset=None,extensions='base',filter=None,)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/config/district?parameters'\n",
    "    params={\n",
    "        'key':lin,\n",
    "        'keywords':keywords,\n",
    "        'subdistrict':subdistrict,\n",
    "        'page':page,\n",
    "        'offset':offset,\n",
    "        'extensions':extensions,\n",
    "        'filter':filter,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "行政区域 = district(keywords='广东',extensions='all',subdistrict=2)\n",
    "\n",
    "df_行政区域_1级 = json_normalize(行政区域[\"districts\"][0]['districts'])\n",
    "\n",
    "df_行政区域_2级_广州市 = json_normalize(行政区域[\"districts\"][0]['districts'][20]['districts'])\n",
    "display(df_行政区域_1级,df_行政区域_2级_广州市)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>adcode</th>\n",
       "      <th>center</th>\n",
       "      <th>citycode</th>\n",
       "      <th>districts</th>\n",
       "      <th>level</th>\n",
       "      <th>name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>370600</td>\n",
       "      <td>121.391382,37.539297</td>\n",
       "      <td>0535</td>\n",
       "      <td>[{'citycode': '0535', 'adcode': '370634', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>烟台市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>370200</td>\n",
       "      <td>120.355173,36.082982</td>\n",
       "      <td>0532</td>\n",
       "      <td>[{'citycode': '0532', 'adcode': '370285', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>青岛市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>371000</td>\n",
       "      <td>122.116394,37.509691</td>\n",
       "      <td>0631</td>\n",
       "      <td>[{'citycode': '0631', 'adcode': '371002', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>威海市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>371500</td>\n",
       "      <td>115.980367,36.456013</td>\n",
       "      <td>0635</td>\n",
       "      <td>[{'citycode': '0635', 'adcode': '371525', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>聊城市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>370300</td>\n",
       "      <td>118.047648,36.814939</td>\n",
       "      <td>0533</td>\n",
       "      <td>[{'citycode': '0533', 'adcode': '370322', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>淄博市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>371300</td>\n",
       "      <td>118.326443,35.065282</td>\n",
       "      <td>0539</td>\n",
       "      <td>[{'citycode': '0539', 'adcode': '371323', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>临沂市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>370700</td>\n",
       "      <td>119.107078,36.70925</td>\n",
       "      <td>0536</td>\n",
       "      <td>[{'citycode': '0536', 'adcode': '370724', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>潍坊市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>371600</td>\n",
       "      <td>118.016974,37.383542</td>\n",
       "      <td>0543</td>\n",
       "      <td>[{'citycode': '0543', 'adcode': '371603', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>滨州市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>371100</td>\n",
       "      <td>119.461208,35.428588</td>\n",
       "      <td>0633</td>\n",
       "      <td>[{'citycode': '0633', 'adcode': '371121', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>日照市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>370500</td>\n",
       "      <td>118.66471,37.434564</td>\n",
       "      <td>0546</td>\n",
       "      <td>[{'citycode': '0546', 'adcode': '370522', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>东营市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>370900</td>\n",
       "      <td>117.129063,36.194968</td>\n",
       "      <td>0538</td>\n",
       "      <td>[{'citycode': '0538', 'adcode': '370982', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>泰安市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>371700</td>\n",
       "      <td>115.469381,35.246531</td>\n",
       "      <td>0530</td>\n",
       "      <td>[{'citycode': '0530', 'adcode': '371726', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>菏泽市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>370800</td>\n",
       "      <td>116.587245,35.415393</td>\n",
       "      <td>0537</td>\n",
       "      <td>[{'citycode': '0537', 'adcode': '370831', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>济宁市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>370100</td>\n",
       "      <td>117.000923,36.675807</td>\n",
       "      <td>0531</td>\n",
       "      <td>[{'citycode': '0531', 'adcode': '370113', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>济南市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>370400</td>\n",
       "      <td>117.557964,34.856424</td>\n",
       "      <td>0632</td>\n",
       "      <td>[{'citycode': '0632', 'adcode': '370406', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>枣庄市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>371400</td>\n",
       "      <td>116.307428,37.453968</td>\n",
       "      <td>0534</td>\n",
       "      <td>[{'citycode': '0534', 'adcode': '371481', 'nam...</td>\n",
       "      <td>city</td>\n",
       "      <td>德州市</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    adcode                center citycode  \\\n",
       "0   370600  121.391382,37.539297     0535   \n",
       "1   370200  120.355173,36.082982     0532   \n",
       "2   371000  122.116394,37.509691     0631   \n",
       "3   371500  115.980367,36.456013     0635   \n",
       "4   370300  118.047648,36.814939     0533   \n",
       "5   371300  118.326443,35.065282     0539   \n",
       "6   370700   119.107078,36.70925     0536   \n",
       "7   371600  118.016974,37.383542     0543   \n",
       "8   371100  119.461208,35.428588     0633   \n",
       "9   370500   118.66471,37.434564     0546   \n",
       "10  370900  117.129063,36.194968     0538   \n",
       "11  371700  115.469381,35.246531     0530   \n",
       "12  370800  116.587245,35.415393     0537   \n",
       "13  370100  117.000923,36.675807     0531   \n",
       "14  370400  117.557964,34.856424     0632   \n",
       "15  371400  116.307428,37.453968     0534   \n",
       "\n",
       "                                            districts level name  \n",
       "0   [{'citycode': '0535', 'adcode': '370634', 'nam...  city  烟台市  \n",
       "1   [{'citycode': '0532', 'adcode': '370285', 'nam...  city  青岛市  \n",
       "2   [{'citycode': '0631', 'adcode': '371002', 'nam...  city  威海市  \n",
       "3   [{'citycode': '0635', 'adcode': '371525', 'nam...  city  聊城市  \n",
       "4   [{'citycode': '0533', 'adcode': '370322', 'nam...  city  淄博市  \n",
       "5   [{'citycode': '0539', 'adcode': '371323', 'nam...  city  临沂市  \n",
       "6   [{'citycode': '0536', 'adcode': '370724', 'nam...  city  潍坊市  \n",
       "7   [{'citycode': '0543', 'adcode': '371603', 'nam...  city  滨州市  \n",
       "8   [{'citycode': '0633', 'adcode': '371121', 'nam...  city  日照市  \n",
       "9   [{'citycode': '0546', 'adcode': '370522', 'nam...  city  东营市  \n",
       "10  [{'citycode': '0538', 'adcode': '370982', 'nam...  city  泰安市  \n",
       "11  [{'citycode': '0530', 'adcode': '371726', 'nam...  city  菏泽市  \n",
       "12  [{'citycode': '0537', 'adcode': '370831', 'nam...  city  济宁市  \n",
       "13  [{'citycode': '0531', 'adcode': '370113', 'nam...  city  济南市  \n",
       "14  [{'citycode': '0632', 'adcode': '370406', 'nam...  city  枣庄市  \n",
       "15  [{'citycode': '0534', 'adcode': '371481', 'nam...  city  德州市  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>adcode</th>\n",
       "      <th>center</th>\n",
       "      <th>citycode</th>\n",
       "      <th>districts</th>\n",
       "      <th>level</th>\n",
       "      <th>name</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>370634</td>\n",
       "      <td>120.738345,37.916194</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>长岛县</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>370683</td>\n",
       "      <td>119.942135,37.182725</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>莱州市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>370602</td>\n",
       "      <td>121.385877,37.540925</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>芝罘区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>370687</td>\n",
       "      <td>121.168392,36.780657</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>海阳市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>370681</td>\n",
       "      <td>120.528328,37.648446</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>龙口市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>370682</td>\n",
       "      <td>120.711151,36.977037</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>莱阳市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>370684</td>\n",
       "      <td>120.762689,37.811168</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>蓬莱市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>370685</td>\n",
       "      <td>120.403142,37.364919</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>招远市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>370611</td>\n",
       "      <td>121.264741,37.496875</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>福山区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>370613</td>\n",
       "      <td>121.448866,37.473549</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>莱山区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>370686</td>\n",
       "      <td>120.834097,37.305854</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>栖霞市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>370612</td>\n",
       "      <td>121.60151,37.388356</td>\n",
       "      <td>0535</td>\n",
       "      <td>[]</td>\n",
       "      <td>district</td>\n",
       "      <td>牟平区</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    adcode                center citycode districts     level name\n",
       "0   370634  120.738345,37.916194     0535        []  district  长岛县\n",
       "1   370683  119.942135,37.182725     0535        []  district  莱州市\n",
       "2   370602  121.385877,37.540925     0535        []  district  芝罘区\n",
       "3   370687  121.168392,36.780657     0535        []  district  海阳市\n",
       "4   370681  120.528328,37.648446     0535        []  district  龙口市\n",
       "5   370682  120.711151,36.977037     0535        []  district  莱阳市\n",
       "6   370684  120.762689,37.811168     0535        []  district  蓬莱市\n",
       "7   370685  120.403142,37.364919     0535        []  district  招远市\n",
       "8   370611  121.264741,37.496875     0535        []  district  福山区\n",
       "9   370613  121.448866,37.473549     0535        []  district  莱山区\n",
       "10  370686  120.834097,37.305854     0535        []  district  栖霞市\n",
       "11  370612   121.60151,37.388356     0535        []  district  牟平区"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 山东\n",
    "行政区域 = district(keywords='山东',extensions='all',subdistrict=2)\n",
    "\n",
    "df_行政区域_1级 = json_normalize(行政区域[\"districts\"][0]['districts'])\n",
    "\n",
    "df_行政区域_2级_济南市 = json_normalize(行政区域[\"districts\"][0]['districts'][0]['districts'])\n",
    "display(df_行政区域_1级,df_行政区域_2级_济南市)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 作用\n",
    "* 用户希望通过得到行政区域信息，进行开发工作。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.搜索POI"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '250',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'suggestion': {'keywords': [], 'cities': []},\n",
       " 'pois': [{'id': 'B0FFIY7U9Y',\n",
       "   'parent': 'B00140WGV9',\n",
       "   'childtype': '302',\n",
       "   'name': '醉楼兰·新疆菜(高德店)',\n",
       "   'tag': '烤羊肉串,大盘鸡,馕坑烤羊排,酸奶,手抓饭,家常拌面,凉皮,羊杂汤,新疆茄子辣子炒西红柿,清炒沙葱,大白菜粉条炖老豆腐,丁丁炒面,馕包肉,野沙葱羊肉包子,干煸四季豆,烤包子,野沙葱炒蛋,新疆板栗南瓜,一口香拌面,烤羊肚,柳条羊肉串,金牌烤羊腰,楼兰小瓜,牛肉粉丝煲',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '花城大道85号高德置地广场·春F5层',\n",
       "   'location': '113.322710,23.120501',\n",
       "   'tel': '020-38837126;18922290766',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440106',\n",
       "   'adname': '天河区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413524512',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': [],\n",
       "   'business_area': '珠江新城',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-21 17:14:02',\n",
       "   'alias': [],\n",
       "   'indoor_map': '1',\n",
       "   'indoor_data': {'cpid': 'B0FFGTHWBO',\n",
       "    'floor': '5',\n",
       "    'truefloor': 'F5',\n",
       "    'cmsid': 'YD0000090210500365'},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '4.0', 'cost': '97.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/0ab53c1e0bf136877fe00f8c34c8189d'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/f8a73d7a3edf5df93e9ade530f9cd7f2'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/481279ec37dbaad793042e27888ad3e7'}]},\n",
       "  {'id': 'B0FFLM36OG',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '新粤新疆菜(佳兆业广场店)',\n",
       "   'tag': '新疆羊肉串,沙漠羊排,大盘鸡,新疆凉皮,羊杂汤,烤包子,新疆馕,新疆手抓饭,烤羊肉串,自制酸奶,烤馕,风味馕包肉,油塔子,回民椒麻鸡,新疆老虎菜,新疆拌面,新疆手抓羊排,清炖羊肉汤,烤羊腿,新疆奶茶,新疆铁签烤肉,羊肉抓饭,自制功夫老豆腐,大块手抓羊肉,丁丁炒面',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '体育西路191号佳兆业广场3层301自编号302A房',\n",
       "   'location': '113.321261,23.139780',\n",
       "   'tel': '020-38680585;020-38680586',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440106',\n",
       "   'adname': '天河区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413526522',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': [],\n",
       "   'business_area': '天河北',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-30 12:44:34',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '4.5', 'cost': '99.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/44ce65ac2e7ded837bb9868a18059a42'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/4fa2ec6dc11682bef9b6e2c559c8bbdd'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/5a97de278827846f106aafc51242507a'}]},\n",
       "  {'id': 'B0FFK90SM0',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '伊斯坦新疆菜(石牌店)',\n",
       "   'tag': [],\n",
       "   'type': '餐饮服务;中餐厅;西北菜',\n",
       "   'typecode': '050115',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河北路与龙口东路交叉口东北100米',\n",
       "   'location': '113.340543,23.141703',\n",
       "   'tel': [],\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440106',\n",
       "   'adname': '天河区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413527700',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': [],\n",
       "   'business_area': '五山',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-30 13:20:12',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': []},\n",
       "  {'id': 'B0FFKUN8S2',\n",
       "   'parent': 'B0FFHPCZ6J',\n",
       "   'childtype': '202',\n",
       "   'name': '新粤新疆菜·穆斯林餐厅(合生广场店)',\n",
       "   'tag': '金牌烤羊排,新疆大盘鸡,维吾尔族手抓饭,竹签羊肉串,羊杂汤,新粤大烩菜,凉皮,新疆炒饭,拍蒜豇豆,金玉满堂,汤面片,辣子鸡拌面,酸菜粉条肉,新疆手抓饭,风味烤鲈鱼,炝炒莲花白,野山椒牛肉,羊蝎子汤,农家四宝,回民椒麻鸡,楼兰卷饼羊肉,茶树菇木耳菠菜,酸辣土豆丝,酸角汁,西域大拌菜',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '叠景路168号合生广场南区4楼419铺',\n",
       "   'location': '113.314009,23.084869',\n",
       "   'tel': '020-89053535;17665309529',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440105',\n",
       "   'adname': '海珠区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413520500',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': '113.313786,23.085492',\n",
       "   'business_area': '新港',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-23 06:19:24',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '4.0', 'cost': '98.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/b6de348547f104276947484588fd605e'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/7c2c09b206b47c0f7cdc1ac87712a046'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/2733ee0558cea8009a12cc4b40ff6dac'}]},\n",
       "  {'id': 'B0FFH9LKG8',\n",
       "   'parent': 'B0FFH12BQ4',\n",
       "   'childtype': '201',\n",
       "   'name': '西域胡杨新疆菜(优托邦科学城店A座)',\n",
       "   'tag': '烤羊肉串,手抓羊肉,酸奶子,烤包子,烤羊排,鲜蔬大拌菜,烤羊腿,手工凉皮,馕饼,羊杂汤,胡杨大盘鸡,椒麻鸡,自制原味酸奶,馕包肉,阿勒泰原始羊排,葱爆羊肉,新疆小炒,风味掌中宝,热上椒麻羊肉,新疆炒米粉,冰镇秋葵,西域清水牛排,烤羊棒骨,羊肉水饺,清炖羊肉汤',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '科学大道193-195号优托邦科学城店A座F5层',\n",
       "   'location': '113.452321,23.168203',\n",
       "   'tel': '020-22201539',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440112',\n",
       "   'adname': '黄埔区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413630600',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': '113.453064,23.167048',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-31 11:36:02',\n",
       "   'alias': [],\n",
       "   'indoor_map': '1',\n",
       "   'indoor_data': {'cpid': 'B00141KFGE',\n",
       "    'floor': '5',\n",
       "    'truefloor': 'F5',\n",
       "    'cmsid': 'GD0012190210500070'},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '4.5', 'cost': '85.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/d16f6f6acdc444613a7f0f8b15a1f43c'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/f28e74760ce7d4fcf9b695fa92a5b762'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/3deae98c97099dcb6f842af6677dc160'}]},\n",
       "  {'id': 'B0FFIXLN3W',\n",
       "   'parent': 'B0FFJRX1CU',\n",
       "   'childtype': '202',\n",
       "   'name': '西域胡杨新疆菜(智慧城店)',\n",
       "   'tag': '烤羊肉串,自制酸奶,烤羊腿,羊杂汤中,鲜蔬大拌菜,清水牛排,香辣大盘鸡,西域手抓羊肉,手工凉皮,手工馕饼,羊肉水饺,烤包子,油塔子,清炖羊肉汤,青瓜腰果,椒麻鸡,阿勒泰原始羊排,馕包肉,石锅黄胡萝卜,风味掌中宝,小炒牛黄喉,冰镇秋葵,烧汁夹沙,拉条子,蚝油扒茄子',\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '高唐路235号时代E-PARK7栋109',\n",
       "   'location': '113.402593,23.165211',\n",
       "   'tel': '020-38837468',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440106',\n",
       "   'adname': '天河区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '1',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413539220',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': [],\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-26 21:46:08',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '4.5', 'cost': '76.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/ef69689ffe9eefaa7c381d1e255c22b6'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/6990d7be0807928cf877effd1096b3ad'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/b6080f067b66c8d800c5b071894c90c9'}]},\n",
       "  {'id': 'B0FFLH54N0',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '穆斯烧烤新疆美食特色菜',\n",
       "   'tag': [],\n",
       "   'type': '餐饮服务;中餐厅;中餐厅',\n",
       "   'typecode': '050100',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '珠电路东瓜宇工业区9号c08',\n",
       "   'location': '113.554680,22.801358',\n",
       "   'tel': '17620135581',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440115',\n",
       "   'adname': '南沙区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '1',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413146401',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': [],\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-02 20:36:27',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/5aca636e0bc7266799b97e49918962eb'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/0c011c838ed1b4c330a9c290f40f289f'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/8544d28371b06aaed2e5deef1ca4a0b7'}]},\n",
       "  {'id': 'B0FFGHZ9PX',\n",
       "   'parent': 'B00141J7BS',\n",
       "   'childtype': '201',\n",
       "   'name': '新粤穆斯林餐厅(佳兆业广场店)',\n",
       "   'tag': '羊肉串,金牌烤羊排,新疆馕,新疆大盘鸡,新疆凉皮,羊杂汤,自制酸奶,烤包子,新疆手抓饭,清炖羊肉汤,风味馕包肉,新疆奶茶,炝炒莲花白,新疆凉粉,烤全羊,新疆辣子茄子,薄皮包子,西域大拌菜,烤羊腿,油塔子,楼兰卷饼羊肉,桂花莲藕,新疆手抓羊排,金牌烤羊腰,风沙烧羊排',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '体育西路191号佳兆业广场F3层',\n",
       "   'location': '113.320814,23.139846',\n",
       "   'tel': '020-38680585;020-38680586',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440106',\n",
       "   'adname': '天河区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413526521',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011043_914402;949880',\n",
       "   'entr_location': '113.320991,23.139649',\n",
       "   'business_area': '天河北',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-23 04:42:00',\n",
       "   'alias': [],\n",
       "   'indoor_map': '1',\n",
       "   'indoor_data': {'cpid': 'B00141J7BS',\n",
       "    'floor': '3',\n",
       "    'truefloor': 'F3',\n",
       "    'cmsid': 'TY0001640210300328'},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '4.5', 'cost': '92.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/b6de348547f104276947484588fd605e'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/f4206164e44d16085048088a4b53b87c'},\n",
       "    {'title': '菜品',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/049842feae1a44900394899b5227ae99'}]},\n",
       "  {'id': 'B00141R54A',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '凯斯尔清真新疆餐厅',\n",
       "   'tag': '烤羊排,花果茶,沙漠羊排,新疆大盘鸡,豪华抓饭,楼兰卷饼羊肉,羊肉串,酸奶,新疆奶茶,拌三丝,薄皮包子,特色烤里脊,土耳其烤鸡翅,沙拉,风味炒烤肉,馕包肉,新疆大枣,凯斯尔特色羊肉饼,风味卷饼羊肉,羊肉馅饼,凯斯尔家乡手抓饭,土耳其干煸牛肉炒面,老虎菜,蜜茶,手抓羊肉（小）',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '解放北路823号首层',\n",
       "   'location': '113.261587,23.134784',\n",
       "   'tel': '020-36183001;13066393707',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440104',\n",
       "   'adname': '越秀区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413526002',\n",
       "   'distance': [],\n",
       "   'navi_poiid': [],\n",
       "   'entr_location': '113.261736,23.134687',\n",
       "   'business_area': '东风',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-05 16:15:33',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '77.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/ff06dc0e1086bb3a47edfca67a029fb7'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/14a1f82d07b40f5d3a10f6f19dcaf4a5'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/6221ddd5d65e2ebe536db41f1571b775'}]},\n",
       "  {'id': 'B0FFHF5PWL',\n",
       "   'parent': 'B0014018C5',\n",
       "   'childtype': '202',\n",
       "   'name': '巴扎美食(新疆大厦店)',\n",
       "   'tag': '羊肉串,76号大盘鸡,哈萨克酸奶,馕坑果木烤羊排,羊城抓饭,馕坑烤包子,手抓羊肉,馕坑芝麻馕,新疆凉粉,金牌烤羊腿,馕包肉,油塔子,石河子凉皮,精品手抓饭,精品拌面,沙漠羊排,炖羊肉汤,新疆烤全羊,新疆手抓肉,自制酸奶,薄皮包子,浓汤羊杂汤,豉油皇捞面,新疆奶啤,新疆油塔',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '天河北路76号新疆大厦2-4层',\n",
       "   'location': '113.318318,23.140572',\n",
       "   'tel': '020-38782781;020-38782783;020-38782778',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440106',\n",
       "   'adname': '天河区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413526521',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011043_439504',\n",
       "   'entr_location': [],\n",
       "   'business_area': '天河北',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-23 03:22:04',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '4.0', 'cost': '105.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/3f948709968a422ba60502a074200c4d'},\n",
       "    {'title': '菜品',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/692b563e98117392ff535648790a7ded'},\n",
       "    {'title': '菜品',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/f46738929c9f3449ce2ea68e183748f4'}]},\n",
       "  {'id': 'B00140SQIB',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '莎车清真美食',\n",
       "   'tag': '羊肉串,手抓饭,特色烤包子,羊肉汤,烤小羊排,牛肉饼,酸奶,羊肉饼,油馕,大盘鸡,薄皮包子,凉粉,酥皮火烧,家常抓饭,干煸炒面,炒面片,韭菜合子,炒拉面,花旗参鸡肉汤,椒麻鸡,烤鸡翅,爆炒羊腰,特色烤里脊,饺子,切丁沙拉',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '光塔路43号(怀圣清真寺对面)',\n",
       "   'location': '113.258945,23.122582',\n",
       "   'tel': '020-81874919;020-83040045;15360636646',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440104',\n",
       "   'adname': '越秀区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413524022',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011043_5939',\n",
       "   'entr_location': [],\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-23 10:49:02',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '57.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/08c8214cee17d04075a0c5a689b89fc5'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/87b97ed90a3bceaacb638b96fa286fb0'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/5de553e2c50c4c64f056b00b14405cb0'}]},\n",
       "  {'id': 'B00140TD5Q',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '青海穆斯林饭店(三元里店)',\n",
       "   'tag': '羊肉串,大盘鸡,手抓羊肉,烤羊排,青海拌面,清炖羊肉,牛肉拉面,羊肉羹,西北酿皮,霸道回香牛排,烤羊腿,萝卜羊肉锅,麻花,酸奶,巴基斯坦肉末菜,狗浇尿,葱油饼,羊杂汤,铁板土豆片,酸辣白菜,羊排煲,羊肉煎饺,兰州拉面,牛杂汤,羊肉煲',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '三元里大道71号(近三元里地铁站)',\n",
       "   'location': '113.259842,23.155456',\n",
       "   'tel': '020-86570920;020-83501919',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440104',\n",
       "   'adname': '越秀区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413528012',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011043_75061',\n",
       "   'entr_location': '113.259914,23.155622',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-03-27 14:46:17',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '68.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/ddac3f317da8b5fbcae32b893ec147eb'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/b8e119ba48072f094f463f19959b15ea'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/2b94e2067c6b7a4c79105a1b3a548fb8'}]},\n",
       "  {'id': 'B00140LXMT',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '兰州拉面(西村总店)',\n",
       "   'tag': '蒜苔炒牛肉拌面,蘑菇炒牛肉盖浇饭,羊肉泡馍,牛肉泡馍,牛肉烩饺,羊肉刀削面,羊肉拉面,鸡蛋炒拉面,辣子鸡肉饭,煎鸡蛋,冰糖雪梨,东鹏特饮,新疆手抓饭,土豆鸡肉盖浇饭,红烧羊肉盖浇饭,孜然羊肉盖浇饭,红烧牛肉盖浇饭,葱爆牛肉盖浇饭,番茄牛肉盖浇饭,木耳牛肉盖浇饭,大白菜炒牛肉盖浇饭,豆角炒牛肉盖浇饭,蒜苔牛肉盖浇饭,青椒牛肉盖浇饭,酸辣白菜盖浇饭',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '环市西路38-40号104自编之二',\n",
       "   'location': '113.239610,23.140584',\n",
       "   'tel': '18665081715',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440103',\n",
       "   'adname': '荔湾区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413516920',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011042_218205',\n",
       "   'entr_location': '113.239551,23.140703',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-23 11:31:42',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '19.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/51ed717293f9bf18c784ac8309e3209c'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/f49a9c3355265a9fc567f96b524d0104'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/37df02f91908fe432e41344d67be7a0b'}]},\n",
       "  {'id': 'B00140ACIX',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '兰州拉面(天一小区东北)',\n",
       "   'tag': '土豆牛肉盖浇饭,土豆鸡块盖浇饭,茄子炒肉盖浇饭,青椒炒肉盖浇面,羊肉拉面,番茄炒蛋盖浇饭,新疆拌面,酸辣白菜盖浇饭,牛肉炒土豆粉,番茄鸡蛋炒细粉,番茄鸡蛋炒刀削,牛肉煎饺,绿茶,和其正,煎蛋,红烧鸡块盖浇饭,蘑菇炒肉盖浇饭,蒜台炒牛肉盖浇饭,洋葱炒肉盖浇饭,白菜牛肉盖浇饭,扬州炒饭,兰州炒饭,羊肉炒饭,蘑菇汤,酸辣汤',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '东莞庄路120-15号',\n",
       "   'location': '113.336795,23.155489',\n",
       "   'tel': '020-87221821;020-22178993',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440106',\n",
       "   'adname': '天河区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413528612',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011043_288',\n",
       "   'entr_location': [],\n",
       "   'business_area': '五山',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-15 13:19:00',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '17.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/cfe10c964d75e8b5d7c7c4bdb4dd1536'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/16ec8e72893aa4ef4c58ce926d4d7481'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/90b0a55b09eca9d8e3207173679733c1'}]},\n",
       "  {'id': 'B00140LXNE',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '林生牛肉拉面',\n",
       "   'tag': '红烧牛肉盖浇面,香菇牛肉拌面,牛肉炒粉,牛肉粉丝汤,榨菜牛肉拌面,青椒牛肉拌面,和其正,鸡蛋炒粉,鸡蛋汤粉,紫菜蛋花汤,羊肉汤,番茄鸡蛋拌面,豆角牛肉拌面,青瓜鸡蛋拌面,洋葱牛肉拌面,酸辣白菜拌面,白菜牛肉拌面,蒜苔牛肉拌面,土豆丝拌面,鸡蛋凉面,新疆拌面,牛肉凉面,葱油拌面,炸酱面,凉拌土豆丝',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '沙和路沙东街天平架一巷4号一楼',\n",
       "   'location': '113.317362,23.158789',\n",
       "   'tel': '020-87743183;020-87837509',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440106',\n",
       "   'adname': '天河区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413529501',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011043_48365',\n",
       "   'entr_location': [],\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-23 04:55:07',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '25.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/16d56c54aee448e13ba17950294c663e'},\n",
       "    {'title': '环境',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/76425f9b2040a1dbefa7d4f1c01b9b37'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/fed9b9edc7cd3625eb8a92187f7a3844'}]},\n",
       "  {'id': 'B00141JP3Q',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '兰州正宗牛肉拉面(松南街店)',\n",
       "   'tag': '牛肉夹馍,新疆大盘鸡,红烧牛肉盖浇饭,土豆牛肉盖浇饭,炸酱面,鸡蛋炒拉面,青海炒面片,优质拉面,哨子面哨子面,白饼,蛋夹馍,羊肉夹馍,紫菜蛋花汤,牛肉粉丝汤,凉拌上海青,凉拌三丝,凉拌土豆丝,凉拌黄瓜,凉拌西红柿,红烧茄子,素炒青菜,孜然羊肉,红烧鸡块,土豆烧牛肉,蘑菇炒肉',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '松南街2-8号松南综合楼一楼',\n",
       "   'location': '113.220731,23.153047',\n",
       "   'tel': '18665693383',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440111',\n",
       "   'adname': '白云区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413518711',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011042_141036',\n",
       "   'entr_location': [],\n",
       "   'business_area': '松洲',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-23 10:43:18',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '15.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/e06085c11cd21d99a926b2fab1fceb54'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/5a12a4d88459bc2673c589c24bb2d0dd'},\n",
       "    {'title': '门头照',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/ec6c0b2df913bd83e2dba83a6078459d'}]},\n",
       "  {'id': 'B00140V59J',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '中国兰州牛肉拉面',\n",
       "   'tag': '兰州牛肉拉面,酸辣白菜盖浇饭,羊肉泡馍,红烧牛肉刀削面,番茄炒蛋盖浇饭,茄子炒肉盖浇饭,青椒土豆丝盖浇饭,青瓜炒蛋盖浇饭,凉拌三丝,丁丁炒面,兰州炒饭,刀削凉面,土豆丝炒肉拌面,土豆丝炒肉盖浇饭,土豆烧牛肉拌面,土豆烧牛肉盖浇饭,土豆片炒肉拌面,土豆片炒肉盖浇饭,大白菜炒肉拌面,大白菜炒肉盖浇饭,孜然羊肉盖浇饭,平菇炒肉拌面,平菇炒肉盖浇饭,新疆大盘鸡,新疆拌面',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '芳村花地大道中临时6号',\n",
       "   'location': '113.233834,23.082372',\n",
       "   'tel': '020-28986946;17612018227',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440103',\n",
       "   'adname': '荔湾区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413419822',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011042_128192',\n",
       "   'entr_location': '113.234127,23.082239',\n",
       "   'business_area': '坑口村',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-08 17:28:21',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.0', 'cost': '14.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/b19fcb3091718dacef5e6b996a1c6322'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/98a0b8cd35592d240ec3c20ab82f329f'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/4d3eb3a9f4bc1b7662a342d0c47cdf47'}]},\n",
       "  {'id': 'B00140MEUR',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '中国兰州拉面',\n",
       "   'tag': '兰州炒饭,青椒炒牛肉盖浇饭,牛肉烩面片,土豆牛肉盖浇面,新疆大盘鸡,羊肉烩面片,丁丁炒面,凉拌三丝,凉拌土豆丝,凉拌黄瓜,哨子面,土豆丝炒肉,土豆丝炒肉盖浇饭,土豆烧牛肉,土豆鸡块盖浇面,孜然牛肉,孜然羊肉盖浇面,新疆拌面,木耳炒肉盖浇饭,洋葱炒肉盖浇面,洋葱炒肉盖浇饭,洋葱牛肉面,炸酱刀削面,牙签羊肉,牛肉拉面',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '盈丰路82号英豪花园',\n",
       "   'location': '113.299523,23.068807',\n",
       "   'tel': [],\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440105',\n",
       "   'adname': '海珠区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413428302',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F012043_1939',\n",
       "   'entr_location': [],\n",
       "   'business_area': '南洲',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-23 10:52:05',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '20.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/b646931c27c926f632d1fad3db9eae1a'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/cba98930bbfce254f1239248f0d6c50f'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/386e61557cb5110ce874030f5dcfff41'}]},\n",
       "  {'id': 'B0FFF5W111',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '清真化隆牛肉面(市桥店)',\n",
       "   'tag': '红烧牛肉盖浇面,西红柿鸡蛋面,羊肉拉面,红烧羊肉盖浇面,葱爆牛肉盖浇面,牛肉烩面片,羊肉烩面片,羊肉烩面,牛肉烩面,臊子面,红烧刀削面,红烧牛肉面,牛肉泡馍,羊肉泡馍,红烧牛肉细粉条,牛肉细粉条,青椒炒肉盖饭,土豆烧牛肉盖饭,葱爆牛肉盖饭,新疆大盘鸡,腐竹炒肉,凉拌牛肉,牛肉汤,牙签牛肉,样肉汤',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '市桥街平康路203号之一',\n",
       "   'location': '113.379028,22.940363',\n",
       "   'tel': '13386459736;18102574221',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440113',\n",
       "   'adname': '番禺区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413332020',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F013043_211704',\n",
       "   'entr_location': '113.378979,22.940532',\n",
       "   'business_area': '市桥',\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-23 01:41:08',\n",
       "   'alias': [],\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '16.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/4f5f8f3f5d473f9ff4d923a1e867f7e2'},\n",
       "    {'title': '门头照',\n",
       "     'url': 'http://store.is.autonavi.com/showpic/7315509a1d861a4ecf45c500b673c11f'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/758b7eb92c94660863712e6d31e18d45'}]},\n",
       "  {'id': 'B0FFF5UN14',\n",
       "   'parent': [],\n",
       "   'childtype': [],\n",
       "   'name': '中国兰州拉面(老马家石牌店)',\n",
       "   'tag': '黄瓜炒鸡蛋,酸辣白菜盖浇饭,蒜苔炒肉盖浇饭,木耳炒肉拌面,拍黄瓜,青椒炒鸡蛋,青椒土豆丝,西葫芦炒蛋,西葫芦炒肉拌面,蒜苔炒鸡蛋,红烧鸡块拌面,牛羊肉炒面,凉拌牛肉,凉拌三丝,蘑菇炒肉盖浇饭,白菜炒肉盖浇饭,青椒炒肉拌面,西葫芦炒肉盖浇饭,蘑菇炒蛋,丁丁炒面,西红柿鸡蛋汤,羊肉刀削面,新疆拌面,哨子面无,凉拌皮蛋',\n",
       "   'type': '餐饮服务;中餐厅;清真菜馆',\n",
       "   'typecode': '050121',\n",
       "   'biz_type': 'diner',\n",
       "   'address': '石牌东路168号',\n",
       "   'location': '113.342822,23.127627',\n",
       "   'tel': '18993002785;020-38906121',\n",
       "   'postcode': [],\n",
       "   'website': [],\n",
       "   'email': [],\n",
       "   'pcode': '440000',\n",
       "   'pname': '广东省',\n",
       "   'citycode': '020',\n",
       "   'cityname': '广州市',\n",
       "   'adcode': '440106',\n",
       "   'adname': '天河区',\n",
       "   'importance': [],\n",
       "   'shopid': [],\n",
       "   'shopinfo': '0',\n",
       "   'poiweight': [],\n",
       "   'gridcode': '3413525701',\n",
       "   'distance': [],\n",
       "   'navi_poiid': 'F49F011043_544276;910840',\n",
       "   'entr_location': '113.342384,23.127451',\n",
       "   'business_area': [],\n",
       "   'exit_location': [],\n",
       "   'match': '0',\n",
       "   'recommend': '0',\n",
       "   'timestamp': '2020-04-03 02:33:24',\n",
       "   'alias': '老马家(石牌店)',\n",
       "   'indoor_map': '0',\n",
       "   'indoor_data': {'cpid': [], 'floor': [], 'truefloor': [], 'cmsid': []},\n",
       "   'groupbuy_num': '0',\n",
       "   'discount_num': '0',\n",
       "   'biz_ext': {'rating': '3.5', 'cost': '13.00', 'meal_ordering': '0'},\n",
       "   'event': [],\n",
       "   'children': [],\n",
       "   'photos': [{'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/5632ff00f9973c083aa7a55c1ac79229'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/84d4aff117e6eac756891211b7f927e2'},\n",
       "    {'title': [],\n",
       "     'url': 'http://store.is.autonavi.com/showpic/3e7e25aec35b781c964a320cfdf879b0'}]}]}"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# D 关键字搜索\n",
    "def place_text(keywords,types,city=None,citylimit=None,children=None,page=None,extensions='base',sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/place/text?parameters'\n",
    "    params={\n",
    "        'key':lin,\n",
    "        'keywords':keywords,\n",
    "        'types':types,\n",
    "        'city':city,\n",
    "        'citylimit':citylimit,\n",
    "        'children':children,\n",
    "        'page':page,\n",
    "        'extensions':extensions,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "广州_新疆菜 = place_text('新疆菜','餐厅',city=\"广州市\",children=1,extensions='all')\n",
    "广州_新疆菜\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 关键字搜索\n",
    "* 过用POI的关键字进行条件搜索"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## IP定位"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'province': '北京市',\n",
       " 'city': '北京市',\n",
       " 'adcode': '110000',\n",
       " 'rectangle': '116.0119343,39.66127144;116.7829835,40.2164962'}"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# E IP定位\n",
    "def IP(ip,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/ip?parameters'\n",
    "    params={\n",
    "    'key':lin,\n",
    "    'ip':ip,\n",
    "    'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "我的ip = IP('114.247.50.2')\n",
    "我的ip"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 作用\n",
    "* 希望能够将IP信息转换为地理位置信息。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 批量请求接口"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'status': 200,\n",
       "  'body': {'suggestion': {'keywords': {}, 'cities': {}},\n",
       "   'info': 'OK',\n",
       "   'status': '1',\n",
       "   'count': '888',\n",
       "   'pois': [{'typecode': '080000',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFKKSDDS',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.511528,39.270463',\n",
       "     'distance': '1082',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '李庄子村兰阳草莓采摘园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080501',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJM772Z',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.513958,39.270648',\n",
       "     'distance': '1205',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永清镇北辛溜附近',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;游乐场',\n",
       "     'shopinfo': '0',\n",
       "     'name': '儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080503',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013C16BMA',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.480285,39.291357',\n",
       "     'distance': '2509',\n",
       "     'tel': '13363650160',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永金一桥东500米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/3e517731940c4684ee94acdfb8c39b26',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/8eb4c3eb92489cb32cafa17205dc0112',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/163f3273c7c60016197a2e7912df53df',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;休闲场所;采摘园',\n",
       "     'shopinfo': '0',\n",
       "     'name': '开心草莓采摘园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080501',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLPYFW5',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496816,39.302615',\n",
       "     'distance': '2785',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路225东北100米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;游乐场',\n",
       "     'shopinfo': '0',\n",
       "     'name': 'DIY儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080603',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLAIP6H',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496230,39.303248',\n",
       "     'distance': '2865',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'seat_ordering': '0', 'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;影剧院;剧场',\n",
       "     'shopinfo': '0',\n",
       "     'name': '向阳禾理想城梦剧场',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080308',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013C0IMLS',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496593,39.304251',\n",
       "     'distance': '2967',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': '3.5', 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路179号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/af47a5f4f741f6a3ad170e226f856b92',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;网吧',\n",
       "     'shopinfo': '0',\n",
       "     'name': '梦想网吧(益昌南路店)',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080119',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFMDQ6D7',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.493187,39.304274',\n",
       "     'distance': '3045',\n",
       "     'tel': '13141201944',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '武隆南路宏益街',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/0fb1662d06ad761b51070fe0ca4c26c5',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;运动场馆;跆拳道场馆',\n",
       "     'shopinfo': '1',\n",
       "     'name': '龙圣跆拳道馆',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJQZNZW',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.497741,39.309459',\n",
       "     'distance': '3519',\n",
       "     'tel': '15210485655',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路268号新旺小区门口',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/67416ad37c69db61c270016fa6f430cc',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/d89fd2e7d4b62cba6187c87cc838bb89',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/dbaae4d6ace1004675ce4f252088ffe6',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '1',\n",
       "     'name': '熙瑞国际游泳健身会所',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080113',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFM4EHTE',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.495838,39.309940',\n",
       "     'distance': '3600',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;运动场馆;台球厅',\n",
       "     'shopinfo': '0',\n",
       "     'name': 'K9台球',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080308',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJKVFLQ',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.497249,39.310649',\n",
       "     'distance': '3656',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌中路与益昌南路交叉口西南50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;娱乐场所;网吧',\n",
       "     'shopinfo': '0',\n",
       "     'name': '网咖',\n",
       "     'childtype': {}}],\n",
       "   'infocode': '10000'},\n",
       "  'header': {'gsid': '011025231097158762147934500019510238625',\n",
       "   'Vary': 'Accept-Encoding',\n",
       "   'Content-Type': 'application/json;charset=UTF-8',\n",
       "   'Access-Control-Allow-Methods': '*',\n",
       "   'Access-Control-Allow-Origin': '*',\n",
       "   'sc': '0.166',\n",
       "   'Content-Length': 5294,\n",
       "   'Access-Control-Allow-Headers': 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,key,x-biz,x-info,platinfo,encr,enginever,gzipped,poiid',\n",
       "   'X-Powered-By': 'ring/1.0.0'}},\n",
       " {'status': 200,\n",
       "  'body': {'suggestion': {'keywords': {}, 'cities': {}},\n",
       "   'info': 'OK',\n",
       "   'status': '1',\n",
       "   'count': '877',\n",
       "   'pois': [{'typecode': '080000',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFIT4V37',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.509300,39.261324',\n",
       "     'distance': '1935',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '昌丰路与昌盛街交叉口东150米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '利民老年公寓',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080500',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFM1WN4Q',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.473800,39.284305',\n",
       "     'distance': '2684',\n",
       "     'tel': '13102692203;15032998415',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永丰路与建设大街交叉口北行200米再东行200米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/02f9a9353f15bb7c882c281addaca79a',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/462da2324343c04c255e5b6b55403952',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/dfc87db906b2994dae80342d4563b1e9',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;休闲场所;休闲场所',\n",
       "     'shopinfo': '1',\n",
       "     'name': '唐山兵途枪战运动',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080301',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFF2T193',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.471098,39.281979',\n",
       "     'distance': '2861',\n",
       "     'tel': '0315-8037777',\n",
       "     'biz_ext': {'rating': '4.3', 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '建设大街与永丰路交叉口西南角',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/c8fd0a18befbe849ce8df7908d88ed24',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/468baaf5453e6c1b38d0c4c417183b40',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/a0a5fff0b63e60b3508c2ecb197d07e5',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;夜总会',\n",
       "     'shopinfo': '0',\n",
       "     'name': '一代佳人夜总会',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFKPS8TZ',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.471344,39.273170',\n",
       "     'distance': '2864',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '垦丰大街与永丰路交叉口南50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '新少年跆拳道馆',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080402',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013B031EO',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.469256,39.278622',\n",
       "     'distance': '2989',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '曙光街23号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;度假疗养场所;疗养院',\n",
       "     'shopinfo': '0',\n",
       "     'name': '光荣院(曙光街)',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080500',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFHF91Y9',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.467429,39.273141',\n",
       "     'distance': '3196',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '垦丰大街8号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;休闲场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '曹妃甸区老干部活动中心',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080119',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLDK6TP',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.466867,39.281969',\n",
       "     'distance': '3222',\n",
       "     'tel': '17736580504',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '建设大街红赫世家东底商58号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/b59e23956de23e47401416a6b4808c0c',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;运动场馆;跆拳道场馆',\n",
       "     'shopinfo': '0',\n",
       "     'name': '泽仁跆拳道',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '滦南县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFH9MB8R',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.527757,39.301926',\n",
       "     'distance': '3343',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '杨柏线北50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '陶乐宝儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080304',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLOR4DN',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.466494,39.287701',\n",
       "     'distance': '3395',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '青年城二期东底商24号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/29997dd7b0c66b1dc6f15a253918ccf2',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/098df33a76f03e8d55672683f63da5d8',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;酒吧',\n",
       "     'shopinfo': '1',\n",
       "     'name': 'ELK酒吧',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080113',\n",
       "     'adname': '滦南县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFMB6BAG',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.528670,39.302678',\n",
       "     'distance': '3457',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;运动场馆;台球厅',\n",
       "     'shopinfo': '0',\n",
       "     'name': '下午时光台球俱乐部',\n",
       "     'childtype': {}}],\n",
       "   'infocode': '10000'},\n",
       "  'header': {'gsid': '011025231097158762147934500019510238625',\n",
       "   'Vary': 'Accept-Encoding',\n",
       "   'Content-Type': 'application/json;charset=UTF-8',\n",
       "   'Access-Control-Allow-Methods': '*',\n",
       "   'Access-Control-Allow-Origin': '*',\n",
       "   'sc': '0.165',\n",
       "   'Content-Length': 5564,\n",
       "   'Access-Control-Allow-Headers': 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,key,x-biz,x-info,platinfo,encr,enginever,gzipped,poiid',\n",
       "   'X-Powered-By': 'ring/1.0.0'}}]"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# F 批量请求接口\n",
    "def batch()->dict:\n",
    "    url =\"https://restapi.amap.com/v3/batch?key=746c8fa77e40d2c35d822112fd0cb244 \"\n",
    "    params={\n",
    "        'key':lin,\n",
    "    }\n",
    "    body={\n",
    "    \"ops\":[\n",
    "        {\n",
    "             \"url\": \"/v3/place/around?offset=10&page=1&key=746c8fa77e40d2c35d822112fd0cb244&location=116.50394379585519,39.278209477408794&output=json&radius=100000&types=080000\"\n",
    "        },\n",
    "        {\n",
    "             \"url\": \"/v3/place/around?offset=10&page=1&key=746c8fa77e40d2c35d822112fd0cb244&location=118.50394379585519,39.278209477408794&output=json&radius=100000&types=080000\"\n",
    "        }\n",
    "      ]\n",
    "}\n",
    "    res = requests.get(url,params=params,json=body)\n",
    "    data = res.json()\n",
    "    return data\n",
    "批量_接口 = batch()\n",
    "批量_接口"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 作用\n",
    "* 希望批量得到接口返回数据的用户。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 静态地图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [],
   "source": [
    "# G 静态\n",
    "from PIL import Image\n",
    "from io import BytesIO\n",
    "def staticmap(location,zoom,size=None,scale=1,markers=None,labels=None,paths=None,traffic=0,page=None,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/staticmap?parameters'\n",
    "    params={\n",
    "        'key':lin,\n",
    "        'location':location,\n",
    "        'zoom':zoom,\n",
    "        'size':size,\n",
    "        'scale':scale,\n",
    "        'markers':markers,\n",
    "        'labels':labels,\n",
    "        'paths':paths,\n",
    "        'traffic':traffic,\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = Image.open(BytesIO(response.content))\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.PngImagePlugin.PngImageFile image mode=P size=400x400 at 0x1F55C6E5E48>"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "staticmap(location=东莞市图书馆_location,zoom=16)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 功能\n",
    "* 计算机视觉"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 坐标转换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [],
   "source": [
    "# H 坐标转换\n",
    "def conversion(locations,coordsys,sig=None)->dict:\n",
    "    url ='https://restapi.amap.com/v3/assistant/coordinate/convert?parameters'\n",
    "    params={\n",
    "    'key':lin,\n",
    "    'locations':locations,\n",
    "    'coordsys':coordsys,\n",
    "    'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'ok',\n",
       " 'infocode': '10000',\n",
       " 'locations': '116.487585177952,39.991754014757'}"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "library = conversion('116.481499,39.990475','gps')\n",
    "library"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 作用\n",
    "* 希望批量得到接口返回数据的用户。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 天气查询"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [],
   "source": [
    "## I 天气查询\n",
    "def weather(city,extensions)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/weather/weatherInfo?parameters'\n",
    "    params={\n",
    "    'key':lin,\n",
    "    'city':city,\n",
    "    'extensions':extensions,\n",
    "    'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'count': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'lives': [{'province': '江西',\n",
       "   'city': '上饶市',\n",
       "   'adcode': '361100',\n",
       "   'weather': '阴',\n",
       "   'temperature': '18',\n",
       "   'winddirection': '东南',\n",
       "   'windpower': '≤3',\n",
       "   'humidity': '67',\n",
       "   'reporttime': '2020-04-23 13:56:42'}]}"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "上饶天气 = weather('上饶','base')\n",
    "上饶天气"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 作用\n",
    "* 需要使用相关天气查询的时候。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 输入提示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid syntax (<ipython-input-108-dd47da3b6e47>, line 10)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  File \u001b[1;32m\"<ipython-input-108-dd47da3b6e47>\"\u001b[1;36m, line \u001b[1;32m10\u001b[0m\n\u001b[1;33m    'output':'json'\u001b[0m\n\u001b[1;37m           ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
     ]
    }
   ],
   "source": [
    "## J 输入提示\n",
    "def tips(keywords,type,location,city,sig=None)->dict:\n",
    "    url ='https://restapi.amap.com/v3/assistant/inputtips?parameters'\n",
    "    params={\n",
    "    'key':lin,\n",
    "    'keywords':keywords,\n",
    "    'type':type,\n",
    "    'location':location,\n",
    "    'city':city\n",
    "    'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "电影院提示 =tips('电影院','080601','116.481499,39.990475','东莞')\n",
    "电影院提示"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 功能\n",
    "* 在高德客户端的使用场景，输入“仙林”之后出现提示相关。\n",
    "* 人工智能，算法推荐"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 交通态势"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# K 矩形交通态势\n",
    "def traffic(level,extensions,rectangle,sig=None)->dict:\n",
    "    url = 'https://restapi.amap.com/v3/traffic/status/rectangle?parameters'\n",
    "    params={\n",
    "    'key':lin,\n",
    "    'level':level,\n",
    "    'extensions':extensions,\n",
    "    'rectangle':rectangle,\n",
    "    'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "road = traffic('2','all','116.351147,39.966309;116.357134,39.968727')\n",
    "road"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 功能\n",
    "* 希望能够确定矩形、圆形或某条道路的交通态势情况，路况信息2分钟更新一次。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 地理围栏"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# L 创建围栏\n",
    "def creat()->dict:\n",
    "    url = 'https://restapi.amap.com/v4/geofence/meta?key=746c8fa77e40d2c35d822112fd0cb244'\n",
    "    params = { \"key\":lin,\n",
    "    \n",
    "    }\n",
    "    body={\n",
    "        \"name\":\"测试围栏\",\n",
    "        \"center\":\"115.672126,38.817129\",\n",
    "        \"radius\":\"1000\",\n",
    "        \"enable\":\"true\",\n",
    "        \"vaild_time\":\"2020-04-22\",\n",
    "        \"repeat\":\"Mon,Tues,Wed,Thur,Fri,Sat,Sun\",\n",
    "        \"time\": \"00:00,11:59;13:00,20:59\",\n",
    "        \"desc\":\"地理围栏描述\",\n",
    "        \"alert_condition\":\"enter;leave\"\n",
    "    }\n",
    "#字符串格式\n",
    "    res = requests.post(url,params=params,json=body)\n",
    "    data = res.json()\n",
    "\n",
    "    return data\n",
    "\n",
    "地理围栏 = creat()\n",
    "地理围栏\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 功能\n",
    "* 地理围栏服务适用于需要针对特定区域，监控用户位置与区域关系的场景中。\n",
    "* 计算机视觉"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 轨迹纠偏"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'distance': 33.0,\n",
       "  'points': [{'x': 116.44942000249563, 'y': 40.014843356125866},\n",
       "   {'x': 116.44945705955585, 'y': 40.01453960973057}]},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# O 轨迹纠偏\n",
    "def cor()->dict:\n",
    "    url = 'https://restapi.amap.com/v4/grasproad/driving'\n",
    "    params ={\n",
    "        'key':lin,\n",
    "    }\n",
    "    body= [{\n",
    "                \"x\": 116.449429,\n",
    "\n",
    "                \"y\": 40.014844,\n",
    "\n",
    "                \"sp\": 4,\n",
    "\n",
    "                \"ag\": 110,\n",
    "\n",
    "                \"tm\": 1478831753\n",
    "\n",
    "                }, {\n",
    "\n",
    "                \"x\": 116.449639,\n",
    "\n",
    "                \"y\": 40.014776,\n",
    "\n",
    "                \"sp\": 3,\n",
    "\n",
    "                \"ag\": 110,\n",
    "\n",
    "                \"tm\": 23\n",
    "\n",
    "                }, {\n",
    "\n",
    "                \"x\": 116.449859,\n",
    "\n",
    "                \"y\": 40.014716,\n",
    "\n",
    "                \"sp\": 3,\n",
    "\n",
    "                \"ag\": 111,\n",
    "\n",
    "                \"tm\": 33\n",
    "\n",
    "                }, {\n",
    "\n",
    "                \"x\": 116.450074,\n",
    "\n",
    "                \"y\": 40.014658,\n",
    "\n",
    "                \"sp\": 3,\n",
    "\n",
    "                \"ag\": 110,\n",
    "\n",
    "                \"tm\": 31\n",
    "\n",
    "                }, {\n",
    "\n",
    "                \"x\": 116.450273,\n",
    "\n",
    "                \"y\": 40.014598,\n",
    "\n",
    "                \"sp\": 3,\n",
    "\n",
    "                \"ag\": 111,\n",
    "\n",
    "                \"tm\": 20\n",
    "\n",
    "}]\n",
    "    res = requests.post(url,params=params,json=body) \n",
    "    data= res.json()\n",
    "    return data\n",
    "jiu = cor()\n",
    "jiu"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 功能\n",
    "* 用于将行车产生的轨迹坐标点匹配到道路上。\n",
    "* 人工智能"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "----"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 小应用\n",
    "打卡上班\n",
    "* 微软人脸识别\n",
    "* ip地址查询\n",
    "* 地理围栏"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
